package org.jeecg.modules.fw.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: fw_room_examine
 * @Author: jeecg-boot
 * @Date:   2023-05-23
 * @Version: V1.0
 */
@Data
@TableName("fw_room_examine")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="fw_room_examine对象", description="fw_room_examine")
public class FwRoomExamine implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**关联租户*/
	@Excel(name = "关联租户", width = 15)
    @ApiModelProperty(value = "关联租户")
    private String tenantId;
	/**关联酒店*/
	@Excel(name = "关联酒店", width = 15)
    @ApiModelProperty(value = "关联酒店")
    private String hotelId;
	/**房号id*/
	@Excel(name = "房号id", width = 15)
    @ApiModelProperty(value = "房号id")
    private String roomId;
	/**查房备注*/
	@Excel(name = "查房备注", width = 15)
    @ApiModelProperty(value = "查房备注")
    private String remark;
	/**查房服务员id*/
	@Excel(name = "查房服务员id", width = 15)
    @ApiModelProperty(value = "查房服务员id")
    private String waiterId;
	/**状态 0待查房 1等待查房 2正在查房 3查房完毕 4取消查房*/
	@Excel(name = "状态 0待查房 1等待查房 2正在查房 3查房完毕 4取消查房", width = 15)
    @ApiModelProperty(value = "状态 0待查房 1等待查房 2正在查房 3查房完毕 4取消查房")
    private Integer state;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**入住订单id*/
	@Excel(name = "入住订单id", width = 15)
    @ApiModelProperty(value = "入住订单id")
    private String livingOrderId;
	/**查房反馈*/
	@Excel(name = "查房反馈", width = 15)
    @ApiModelProperty(value = "查房反馈")
    private String feedback;
	/**查房发起时间*/
	@Excel(name = "查房发起时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查房发起时间")
    private Date promoterTime;
	/**查房完成时间*/
	@Excel(name = "查房完成时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查房完成时间")
    private Date completedTime;
    /**查房时间*/
    @Excel(name = "查房时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查房时间")
    private Date cfTime;
	/**查房完成人*/
	@Excel(name = "查房完成人", width = 15)
    @ApiModelProperty(value = "查房完成人")
    private String completedBy;
	/**查房发起人*/
	@Excel(name = "查房发起人", width = 15)
    @ApiModelProperty(value = "查房发起人")
    private String promoterBy;

    @ApiModelProperty(value = "房号")
	@TableField(exist = false)
    private String roomName;

    @ApiModelProperty(value = "客人姓名")
    @TableField(exist = false)
    private String contactName;

    @ApiModelProperty(value = "客人电话")
    @TableField(exist = false)
    private String contactPhone;

    @ApiModelProperty(value = "客人到达时间")
    @TableField(exist = false)
    private Date arriveTime;

    @ApiModelProperty(value = "客人预离时间")
    @TableField(exist = false)
    private Date dueOutTime;

    @ApiModelProperty(value = "房间状态")
    @TableField(exist = false)
    private String roomStatus;

    @ApiModelProperty(value = "查房人")
    @TableField(exist = false)
    private String cfWaiterName;
}
